using UnityEditor;
using UnityEngine;

namespace WorldMapTools
{
    [CustomEditor(typeof(GeneralMap))]
    public class GeneralMapEditor : UnityEditor.Editor
    {
        //private GeneralMap _generalMap;
        
        //public override void OnInspectorGUI()
        //{
        //    _generalMap = (GeneralMap)target;
        //    _generalMap.wSize = EditorGUILayout.IntField("Width", _generalMap.wSize);
        //    _generalMap.hSize = EditorGUILayout.IntField("Height", _generalMap.hSize);
        //    EditorGUILayout.Space();
        //    EditorGUILayout.BeginHorizontal();
        //    GUILayout.Label("地图存储路径:");
        //    GeneralMap.savePath = EditorGUILayout.TextField(GeneralMap.savePath);
        //    if (GUILayout.Button("浏览"))
        //    {
        //        EditorApplication.delayCall += SelectMapSaveFolder;
        //    }
        //    EditorGUILayout.EndHorizontal();

        //    EditorGUILayout.Space();
        //    EditorGUILayout.BeginHorizontal();
        //    if (GUILayout.Button("生成随机地图"))
        //    {
        //        var result = _generalMap.generalMap();
        //        if (result)
        //        {
        //            EditorUtility.DisplayDialog("通知", "地图生成成功", "OK");
        //        }
        //        else
        //        {
        //            EditorUtility.DisplayDialog("通知", "地图生成失败...", "OK");
        //        }
        //    }
        //    EditorGUILayout.EndHorizontal();
        //    EditorGUILayout.Space();
        //    EditorGUILayout.BeginHorizontal();
        //    GeneralMap.mapObj = (GameObject)EditorGUILayout.ObjectField("地图对象", GeneralMap.mapObj, typeof(GameObject), false);
        //    EditorGUILayout.EndHorizontal();
        //    GUI.enabled = GeneralMap.mapObj != null;
        //    if (GUILayout.Button("保存地图"))
        //    {
        //        if (GeneralMap.mapObj != null)
        //        {
        //            if (GeneralMap.SaveMap(GeneralMap.mapObj))
        //            {
        //                EditorUtility.DisplayDialog("通知", "保存成功", "ok");
        //            }
        //            else
        //            {
        //                EditorUtility.DisplayDialog("通知", "保存失败", "ok");
        //            }
        //        }
        //    }

        //    GUI.enabled = true;
        //}

        //private void SelectMapSaveFolder()
        //{
        //    string path = EditorUtility.OpenFolderPanel("选择地图存储路径", "", "");
        //    if (path.Length > 0)
        //    {
        //        GeneralMap.savePath = path;
        //        EditorUtility.FocusProjectWindow();
        //    }
        //}
    }
}